package com.example.common.bean;

import jakarta.annotation.Resource;
import org.springframework.beans.factory.SmartInitializingSingleton;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

/**
 * 在Spring容器对所有单例Bean初始化完成后执行一些自定义的初始化逻辑
 */
@Component
public class PackSmartInitializingSingleton implements SmartInitializingSingleton {

    @Resource
    private ApplicationContext context ;

    @Override
    public void afterSingletonsInstantiated() {
        // 在这里你可以执行一些其它逻辑或者对当前容器中的bean进行相应的操作
        // TODO
        //UserService us = context.getBean(UserService.class) ;
        //us.init() ;
    }
}
